package cn.js.sip.rat.system.service;

import cn.js.sip.rat.system.entity.SysMenuEntity;
import cn.js.sip.rat.system.entity.SysRoleEntity;
import cn.js.sip.rat.system.entity.SysUserEntity;
import cn.js.sip.rat.system.entity.ZtreeEntity;

import java.util.List;

/**
 * @ClassName: cn.js.sip.rat.system.service
 * @Description: TODO
 * @author: xuxiaoli
 * @Date: 2019-12-28   17:07
 */
public interface SysMenuService extends BaseService<SysMenuEntity> {
    /**
     * 根据用户 得到 菜单信息
     *
     * @param userEntity
     * @return
     */
    List<SysMenuEntity> getMenusByUser(SysUserEntity userEntity);

    /**
     * 查询系统菜单列表
     *
     * @param menu   菜单信息
     * @param userId 用户ID
     * @return 菜单列表
     */
    List<SysMenuEntity> selectMenuList(SysMenuEntity menu, String userId);

    SysMenuEntity selectMenuById(String id);


    String checkMenuNameUnique(SysMenuEntity menu);

    List<ZtreeEntity> roleMenuTreeData(SysRoleEntity role, String userId);

    List<SysMenuEntity> selectMenuAll(String userId);
}
